System and Method for Scheduling Clips

ABSTRACT

An example method involves: accessing a first list that includes ordered clip identifiers C 1  . . . C n ; accessing a second list that includes ordered player identifiers P 1  . . . P x ; making a determination that a clip identifier C m  is an initial one of the clip identifiers C 1  . . . C n  to have a player-identifier assignment-restriction; responsive to making the determination, (i) determining that the clip identifier C m  is restricted to being assigned a player identifier P z  from the player identifiers P 1  . . . P x , and (ii) assigning to each clip identifier C 1  . . . C m  in reverse order a respective one of the player identifiers P 1  . . . P x  selected in a reverse ordered and looping fashion starting with the player identifier P z ; and traversing the clip identifiers C 1  . . . C m , and for each traversed clip identifier, causing a player identified by the one of the player identifiers P 1  . . . P x  assigned to the traversed clip identifier to load a clip identified by the traversed clip identifier.

RELATED DISCLOSURE

This disclosure is a continuation of U.S. patent application Ser. No.14/208,933 filed on Mar. 13, 2014.

USAGE AND TERMINOLOGY

Throughout this application, with respect to all reasonable derivativesof such terms, and unless otherwise specified (and/or unless theparticular context clearly dictates otherwise), each usage of:

-   -   “a” or “an” means at least one.    -   “the” means the at least one.    -   “video” means any material represented in a video format (i.e.,        having multiple frames). In some instances, video may include        multiple sequential frames that are identical or nearly        identical, and that may give the impression of a still image.        Video may or may not include an audio portion.    -   “clip” means a portion of video.    -   “player” means a video player.

TECHNICAL FIELD

The disclosed system and method relate generally to scheduling clips,such as in connection with a news production system.

BACKGROUND

Unless otherwise indicated herein, the materials described in thissection are not prior art to the claims in this disclosure and are notadmitted to be prior art by inclusion in this section.

A news production system (NPS) may facilitate the production of a newsprogram for television broadcast. In this context, the news program maybe produced in accordance with a “rundown.” Generally, a rundown is aschedule of events (and related information) that make up a newsprogram. For instance, a rundown may indicate that various clips are tobe loaded and played out by a player in a particular order so that theclips may be part of the news program.

For a variety of reasons, it may take several seconds for a player toload a clip. Also, a player may be configured such that it may eitherload or playout a clip (but not both together) at any given time.Therefore, there may be a delay between the time that a particularplayer finishes playing out a first clip and the time that the playermay begin playing out a second clip (i.e., to allow the playersufficient time to load the second clip). Such a delay may beproblematic, such as where a rundown indicates that the second clipshould be played out immediately after the first clip (i.e., without anyintervening delay).

SUMMARY

In one aspect, an example method involves: (i) accessing a first listthat includes ordered clip identifiers C₁ . . . C_(n); (ii) accessing asecond list that includes ordered player identifiers P₁ . . . P_(x),wherein x<n; (iii) making a determination that a clip identifier C_(m)is an initial one of the clip identifiers C₁ . . . C_(n) to have aplayer-identifier assignment-restriction; (iv) responsive to making thedetermination, (a) determining that the clip identifier C_(m) isrestricted to being assigned a player identifier P_(z) from the playeridentifiers P₁ . . . P_(x), and (b) assigning to each clip identifier C₁. . . C_(m) in reverse order a respective one of the player identifiersP₁ . . . P_(x) selected in a reverse ordered and looping fashionstarting with the player identifier P_(z); and (v) traversing the clipidentifiers C₁ . . . C_(m), and for each traversed clip identifier,causing a player identified by the one of the player identifiers P₁ . .. P_(x) assigned to the traversed clip identifier to load a clipidentified by the traversed clip identifier.

In another aspect, an example method involves: (i) accessing a firstlist that includes ordered clip identifiers; (ii) accessing a secondlist that includes ordered player identifiers, wherein the number ofplayer identifiers is less than the number of clip identifiers; (iii)making a determination that a particular clip identifier is an initialone of the clip identifiers to have a player-identifierassignment-restriction; (iv) responsive to making the determination, (a)determining that the particular clip identifier is restricted to beingassigned a particular player identifier from the player identifiers, and(b) assigning to each of the clip identifiers up to and including theparticular clip identifier in reverse order a respective one of theplayer identifiers selected in a reverse ordered and looping fashionstarting with the particular player identifier; and (v) traversing theclip identifiers up to and including the particular clip identifier, andfor each traversed clip identifier, causing a player identified by theone of the player identifiers assigned to the traversed clip identifierto load a clip identified by the traversed clip identifier.

In yet another aspect, an example method involves: (i) accessing a firstlist that includes ordered clip identifiers C₁ . . . C_(n) separatedinto at least two blocks; (ii) accessing a second list that includesordered player identifiers P₁ . . . P_(x), wherein x<n; (iii) making adetermination that a clip identifier C_(m) is an initial one of the clipidentifiers C₁ . . . C_(n) to have a player-identifierassignment-restriction; (iv) responsive to making the determination, (a)determining that the clip identifier C_(m) is restricted to beingassigned a player identifier P_(z) from the player identifiers P₁ . . .P_(x), (b) determining that a clip identifier C_(q) is an initial clipidentifier of a block to which the clip identifier C_(m) belongs, and(c) assigning to each clip identifier C_(q) . . . C_(m) in reverse ordera respective one of the player identifiers P₁ . . . P_(x) selected in areverse ordered and looping fashion starting with the player identifierP_(z); and (v) traversing the clip identifiers C_(q) . . . C_(m), andfor each traversed clip identifier, causing a player identified by theone of the player identifiers P₁ . . . P_(x) assigned to the traversedclip identifier to load a clip identified by the traversed clipidentifier.

In still another aspect, an example method involves: (i) accessing afirst list that includes ordered clip identifiers separated into atleast two blocks; (ii) accessing a second list that includes orderedplayer identifiers, wherein the number of player identifiers is lessthan the number of clip identifiers; (iii) making a determination that afirst particular clip identifier is an initial one of the clipidentifiers to have a player-identifier assignment-restriction; (iv)responsive to making the determination, (a) determining that the firstparticular clip identifier is restricted to being assigned a particularplayer identifier from the player identifiers, (b) determining that asecond particular clip identifier is an initial clip identifier of ablock to which the first particular clip identifier belongs, and (c)assigning to each clip identifier in reverse order a respective one ofthe player identifiers selected in a reverse ordered and looping fashionstarting with the particular player identifier; and (v) traversing theclip identifiers from the first particular clip identifier to the secondparticular clip identifiers, inclusive, and for each traversed clipidentifier, causing a player identified by the one of the playeridentifiers assigned to the traversed clip identifier to load a clipidentified by the traversed clip identifier.

In still another aspect, a system, for use with multiple video players,includes a computer-readable medium including a set of programinstructions, that when executed, cause performance of a set offunctions including: (i) accessing a first list that includes orderedclip identifiers C₁ . . . C_(n); (ii) accessing a second list thatincludes ordered player identifiers P₁ . . . P_(x), wherein x<n, andeach player identifier P₁ . . . P_(x) has a corresponding one of theplayers; (iii) making a determination that a clip identifier C_(m) is aninitial one of the clip identifiers C₁ . . . C_(n) to have aplayer-identifier assignment-restriction; and (iv) responsive to makingthe determination, (a) determining that the clip identifier C_(m) isrestricted to being assigned a player identifier P_(z) from the playeridentifiers P₁ . . . P_(x), and (b) assigning to each clip identifier C₁. . . C_(m) in reverse order a respective one of the player identifiersP₁ . . . P_(x) selected in a reverse ordered and looping fashionstarting with the player identifier P_(z).

In still another aspect, another system, for use with multiple videoplayers, includes a computer-readable medium including a set of programinstructions, that when executed, cause performance of a set offunctions including: (i) accessing a first list that includes orderedclip identifiers C₁ . . . C_(n) separated into at least two blocks; (ii)accessing a second list that includes ordered player identifiers P₁ . .. P_(x), wherein x<n and each player identifier P₁ . . . P_(x) has acorresponding one of the players; (iii) making a determination that aclip identifier C_(m) is an initial one of the clip identifiers C₁ . . .C_(n) to have a player-identifier assignment-restriction; (iv)responsive to making the determination, (a) determining that the clipidentifier C_(m) is restricted to being assigned a player identifierP_(z) from the player identifiers P₁ . . . P_(x), (b) determining that aclip identifier C_(q) is an initial clip identifier of a block to whichthe clip identifier C_(m) belongs, and (c) assigning to each clipidentifier C_(q) . . . C_(m) in reverse order a respective one of theplayer identifiers P₁ . . . P_(x) selected in a reverse ordered andlooping fashion starting with the player identifier P_(z).

These, as well as other aspects, advantages, and alternatives, willbecome apparent to those of ordinary skill in the art by reading thefollowing detailed description, with reference where appropriate to theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified diagram of an example NPS.

FIG. 2 is a simplified diagram of an example device.

FIG. 3A is a diagram of an example rundown in a first state.

FIG. 3B is a diagram of the example rundown of FIG. 3A, in a secondstate.

FIG. 3C is a diagram of the example rundown of FIG. 3A, in a thirdstate.

FIG. 3D is a diagram of the example rundown of FIG. 3A, in a fourthstate.

FIG. 3E is a diagram of the example rundown of FIG. 3A, in a fifthstate.

FIG. 3F is a diagram of the example rundown of FIG. 3A, in a sixthstate.

FIG. 3G is a diagram of the example rundown of FIG. 3A, in a seventhstate.

FIG. 3H is a diagram of the example rundown of FIG. 3A, in an eighthstate.

FIG. 3I is a diagram of the example rundown of FIG. 3A, in a ninthstate.

FIG. 3J is a diagram of the example rundown of FIG. 3A, in a tenthstate.

FIG. 3K is a diagram of the example rundown of FIG. 3A, in a eleventhstate.

FIG. 4 is a flowchart showing functions of a first example of thedisclosed method.

FIG. 5 is a flowchart showing functions of a second example of thedisclosed method.

FIG. 6 is a flowchart showing functions of a third example of thedisclosed method.

FIG. 7 is a flowchart showing functions of a fourth example of thedisclosed method.

DETAILED DESCRIPTION OF THE DRAWINGS I. Overview

As discussed above, in the context of an NPS, there may be a delaybetween the time that a particular player finishes playing out a firstclip and the time that the player may begin playing out a second clip.To help address this issue, an NPS may use multiple players to load andplayout clips indicated in a rundown.

With this configuration, a user may assign to each clip, a respectiveplayer in such a manner so as to reduce or avoid the delay issuediscussed above. Note that in a rundown, players may be identified byplayer identifiers and clips may be identified by clip identifiers. Assuch, the process of a user assigning a player to a clip may involve theuser editing the rundown to indicate that a particular player identifieris assigned to a particular clip identifier.

To illustrate how a user may assign players to clips in a manner thatreduces or avoids the delay issue discussed above, consider an NPS thatincludes two players. In this instance, a user may assign to clips in arundown, one of two players selected in an alternating fashion.Therefore, while a first player is playing out a first clip, a secondplayer may load a second clip. And when the first player finishesplaying out the first clip, the second player may immediately startplaying out the second clip. This process may be repeated such that eachpair of ordered clips may be played out in order and without anyintervening delay.

In some cases, such as where the first clip has a short duration, it maytake longer for the second player to load the second clip than it takesfor the first player to playout the first clip. Therefore, in someinstances an NPS may need to use three or more players to reduce oravoid the delay issue discussed above. However, as an NPS uses moreplayers in this manner, it may become difficult for a user to determinewhich players should be assigned to which clips to further this goal.

This process may be further complicated by the fact that a rundown maybe edited after players have already been assigned to clips. Indeed, insome instances, a rundown may even be edited while the news program isbeing produced.

This process may be even further complicated by the fact that aparticular clip may need to be played out by a particular player. Thistype of restriction may exist for a variety of reasons. For example, theparticular player may be connected to a particular physical input of aproduction switcher, where that physical input (and perhaps only thatphysical input) is configured to apply a particular digital video effect(DVE) to video received on that physical input.

Examples of the disclosed system and method may help address the delayand player assignment restriction issues discussed above by improvingthe manner in which players are assigned to clips.

As disclosed herein, one example method may involve a scheduling systemassigning a player identifier to a clip identifier in accordance with aplayer-identifier assignment-restriction for that clip identifier. Then,the scheduling system may traverse some or all of the preceding clipidentifiers in reverse order and assign to each of them an appropriateplayer identifier so as to avoid the delay issue discussed above.

More particularly, an example method may involve a scheduling systemaccessing a first list that includes ordered clip identifiers C₁ . . .C_(n). For instance, the first list may include ordered clip identifiersC₁ . . . C₁₅.

The example method may further involve the scheduling system accessing asecond list that includes ordered player identifiers P₁ . . . P_(x). Forinstance, the second list may include player identifiers P₁ . . . P₃.

Further, the example method may involve the scheduling system making adetermination that a clip identifier C_(m) is an initial one of the clipidentifiers C₁ . . . C_(n) to have a player-identifierassignment-restriction. For instance, continuing with the example above,the scheduling system may determine that a clip identifier C₈ is aninitial one of the clip identifiers C₁ . . . C₁₅ to have aplayer-identifier assignment-restriction.

The example method may further involve responsive to the schedulingsystem making the determination, the scheduling system determining thatthe clip identifier C_(m) is restricted to being assigned a playeridentifier P_(z) from the player identifiers P₁ . . . P_(x). Forinstance, continuing with the example above, this may involve thescheduling system determining that the clip identifier C₈ is restrictedto being assigning the player identifier P₁.

Still further, the example method may involve responsive to thescheduling system making the determination, the scheduling systemassigning to each clip identifier C₁ . . . C_(m) in reverse order arespective one of the player identifiers P₁ . . . P_(x) selected in areverse ordered and looping fashion starting with the player identifierP_(z). For instance, continuing with the example above, this may involvethe scheduling system assigning to each clip identifier C₁ . . . C₈ inreverse order a respective one of the player identifiers P₁ . . . P₃selected in a reverse ordered and looping fashion starting with theplayer identifier P₂ such that: C₁ is assigned P₃, C₂ is assigned P₁, C₃is assigned P₂, C₄ is assigned P₃, C₅ is assigned P₁, C₆ is assigned P₂,C₇ is assigned P₃, and C₈ is assigned P₁.

Finally, the example method may involve the scheduling system traversingthe clip identifiers C₁ . . . C_(m), and for each traversed clipidentifier, causing a player identified by the one of the playeridentifiers P₁ . . . P_(x) assigned to the traversed clip identifier toload a clip identified by the traversed clip identifier. This may occurcontemporaneously while the players identified by the player identifiersP₁ . . . P_(x) play out the loaded clips such that the clips may be partof the news program. Continuing with the example above, this may involvethe scheduling system traversing the clip identifier C₁ . . . C₈ and foreach traversed clip identifier, causing a player identified by the oneof the player identifiers P₁ . . . P₃ assigned to the traversed clipidentifier to load a clip identified by the traversed clip identifier.

Among other things, by traversing the clip identifiers in reverse orderstarting with the clip identifier that has the player-identifierassignment-restriction, the scheduling system can ensure that the clipidentified by that clip identifier is assigned a player in accordancewith its assignment restriction.

Further, by “reverse looping” through the player identifiers in themanner described above, a given player has a strong likelihood of havinga sufficient amount of time to load a clip before needing to play itout. Indeed, given an NPS with x players, in the general case, once aplayer has played out a clip, that player need not playout its next clipuntil x-1 other players have played out x-1 clips, respectively. Forinstance, as illustrated in the example above (where the NPS uses threeplayers), once a player has played out a clip, that player need notplayout its next clip until two other players have played out two otherclips, respectively.

Note that the scheduling system may apply the same, similar, or othertechniques to assign player identifiers to the remaining clipidentifiers C_(m+1) . . . C_(n). As such, the example method may involvethe scheduling system traversing the clip identifiers C₁ . . . C_(n),and for each traversed clip identifier, causing a player identified bythe one of the player identifiers P₁ . . . P_(x) assigned to thetraversed clip identifier to load a clip identified by the traversedclip identifier.

In another example, the scheduling system may improve the process bywhich players are assigned to clips by leveraging the manner in whichclip identifiers are commonly organized within a rundown.

Notably, a news program is typically divided by one or more commercialbreaks into separate “blocks.” This may also be reflected in thecorresponding rundown. For example, the rundown may include one or morecommercial break markers that divide the rundown into separate blocks.Since a rundown may include ordered clip identifiers as described above,the clip identifiers may also be separated into separate blocks, whereeach block of clip identifiers corresponds to clips in a respectiveblock of the news program.

In one example, the reverse traversal of clip identifiers may stop oncethe initial clip identifier in a block is reached. As a result, there issome further predictability as to which players will be assigned towhich clips as described in greater detail below.

While in one example, the disclosed method may be implemented inconnection with a NPS and a news program, the disclosed method may alsobe implemented in connection with other types of systems and with othertypes of programs or other video. For instance, in one example, thedisclosed method may be implemented in connection with a master controlsystem.

II. Example NPS

FIG. 1 is a simplified block diagram of an example NPS 100. The NPS 100may be configured to perform a variety of functions related to producinga news program. The NPS may output the news program in video form, whichin turn may be sent to a broadcasting system for broadcast (e.g., via anover-the-air television broadcast or an Internet feed). It is understoodthat the video output from the NPS 100 may be subjected to additionalprocessing before being broadcast. For example, the video may bemodified with a DVE before being broadcast.

The NPS 100 may include one or more devices, including for example ascheduling system 102, a player controller 104, a data storage 106, oneor more players 108 a-c, and a production switcher 110. Note that theNPS 100 need not include all of these devices and it may includeadditional devices.

Generally, the scheduling system 102 is configured to perform functionsrelated to scheduling and managing the production of a news program, theplayer controller 104 is configured to perform functions related tocontrolling the players 108 a-c, and the production switcher 110 isconfigured to perform functions related to input-to-output mapping andrunning DVEs.

Generally, each player 108 a-c is configured to perform functionsrelated to loading and/or playing out a clip. Each player 108 a-c maytake a variety of forms. For instance, each player 108 a-c may take theform of a video player device or a software-based video player executingon a computing device.

These devices may communicate with each other and/or with externaldevices via one or more communication paths. For example, the schedulingsystem 102 and the player controller 104 may communicate via path 112,the player controller 104 and the players 108 a-c may communicate viarespective paths 114 a-c, and the players 108 a-c and the data storage106 may communicate via respective paths 116 a-c. Further, the players108 a-c and the production switcher 110 may communicate via respectivepaths 118 a-c, the scheduling system 102 and the production system 110may communicate via path 120, and the production switcher 110 maycommunicate with a device outside of the NPS 100, such as a televisionbroadcasting system, via a path 122.

These devices may communicate with each other and/or with externaldevices according to one or more protocols. For example, the devices maycommunicate in accordance with one or more versions of the Media ObjectServer (MOS) protocol.

FIG. 2 is a simplified block diagram of a device 200. The device 200 maytake a variety of forms, including for example the scheduling system102, the player controller 104, the data storage 106, one of the players108 a-c, or the production switcher 110.

The device 200 may include various components, including for example, auser-interface 202, a communication interface 204, a processor 206, anda data storage 208, all of which may be electronically connected to eachother via a system bus or other connection mechanism 210. Note that thedevice 200 need not include all of these components and it may includeadditional components.

The user-interface 202 may function to allow the device 200 to interactwith a user, such as to receive input from a user and to provide outputto the user. Thus, the user-interface 202 may include input componentssuch as a computer mouse, a keyboard, or a touch-sensitive panel. Theuser-interface 202 may also include output components such as a displayscreen (which, for example, may be combined with a touch-sensitivepanel) or a speaker.

The communication interface 204 may function to allow the device 200 tocommunicate with other devices. In one example, the communicationinterface 204 may take the form of a wired interface, such as anEthernet port, USB port, or High-Definition Multimedia Interface (HDMI)port. As another example, the communication interface 204 may take theform of a wireless interface, such as a WiFi interface. In either case,the communication interface 204 may include communication input and/orcommunication output interfaces.

The processor 206 may include one or more general purpose processors(e.g., microprocessors) and/or one or more special purpose processors(e.g., digital signal processors (DSPs)).

The data storage 208 may include one or more volatile and/ornon-volatile storage components, such as magnetic, optical, flash, ororganic storage, and may be integrated in whole or in part with theprocessor 206. The data storage 208 may include removable and/ornon-removable components. In some examples, the data storage 208 mayinclude multiple storage drives that store data in a redundant and/orstripped configuration.

Generally, the processor 206 may be configured to execute programinstructions (e.g., compiled or non-compiled program logic and/ormachine code) stored in the data storage 208 to perform one or more ofthe functions described herein and/or shown in the accompanyingdrawings. As such, the data storage 208 may take the form of anon-transitory computer-readable storage medium, having stored thereonprogram instructions that, upon execution by the processor 206, causethe device 200 to perform one or more of the functions described hereinand/or shown in the accompanying drawings.

III. Example Rundown

FIG. 3A shows portions of an example rundown 300 for a news program. Therundown 300 includes ordered rundown entries, each represented as aseparate row. Each rundown entry includes one or more attributes, suchas a title, a clip identifier a player identifier, and/or aplayer-identifier assignment-restriction as shown in the respectivecolumns. For example, the first rundown entry has a title “Clip 1” and aclip identifier “C₁.” As another example, the sixth rundown entry has atitle “Commercial Break Marker.” As yet another example, the ninthrundown entry has a title “Clip 8,” a clip identifier “C₈,” and aplayer-identifier assignment-restriction “P₁” (i.e., indicating thatClip 8 must be played out of the player identified as P₁).

Note that these attributes may be represented in a variety of differentmanners. For instance, rather the player-identifierassignment-restriction having a player identifier value, it may have atrue or false value that indicates whether or not a corresponding playeridentifier attribute represents an assignment restriction.

In one example, a user may create the rundown 300 via a user interfaceof a scheduling system and store the rundown in a data storage of thescheduling system. As such, by utilizing the rundown 300, the user mayindicate which clip is required to be played out of which player.

As discussed above, a rundown may include commercial break markers thatdivide the rundown into multiple blocks. In one example, the rundown mayinclude commercial break markers as their own rundown entries. As shown,the rundown 300 includes two commercial break markers that divide therundown into Block A, Block B, and Block C.

Notably, each of FIGS. 3A-3K shows the rundown 300 in a different state.For instance, FIG. 3A shows the rundown in a first state where playeridentifiers have not yet been added to the rundown. The additionalstates of the rundown as shown in FIGS. 3B-3K are described below inconjunction with examples of the disclosed method.

It should also be noted that the rundown 300 has been greatly simplifiedfor the purposes of providing examples of the disclosed system andmethod. In practice, a rundown is likely, although not required, toinclude significantly more data. For example, a rundown may includeadditional rundown entries that correspond to events other than playingout clips. Such rundown entries may be arranged before, after, or inbetween the example rundown entries described above. Further, in someinstances, a given rundown entry may correspond to multiple events. Assuch, in one example, a rundown entry may include multiple clipidentifiers (and corresponding assigned player identifiers).

In addition, rundown entries may include additional attributes,including for example, an index or “page” number, an estimated duration,an actual duration, and/or an author. Further, each rundown entry mayinclude a script that, when executed, causes certain NPS-relatedfunctions to be performed. Also, in some instances, a rundown entry mayinclude multiple clip identifiers, respective player identifiers, and/orrespective player-identifier assignment-restrictions. However, as notedabove, for the sake of simplicity, the simplified rundown 300 isprovided herein.

III. Example Operations

An example of the disclosed method will now be described principally inconnection with a NPS and a news program. However, as noted above, thedisclosed method can extend to apply with respect to other types ofsystems and other types of programs or other video. For instance, thedisclosed method may be applied with respect to a master control system.

FIG. 4 is a flowchart showing functions of a first example of thedisclosed method. At block 402, the method may involve accessing (e.g.,from a local or remote data storage) a first list that includes orderedclip identifiers C₁ . . . C_(n). For example, as shown in FIG. 3A, thismay involve the scheduling system 102 accessing the rundown 300 thatincludes ordered clip identifiers C₁ . . . C₁₅. In one example, thescheduling system 102 may access the rundown 300 from a data storage.

At block 404, the method may involve accessing (e.g., from a local orremote data storage) a second list that includes ordered playeridentifiers P₁ . . . P_(x), where x<n. For example, this may involve thescheduling system 102 accessing a list of player identifiers P₁ . . .P₃, where each identifier identifies one of the players 108 a-c. Forinstance, player identifier P₁ may identify player 108 a, playeridentifier P₂ may identify player 108 b, and player identifier P₃ mayidentify player 108 c. In one example, the scheduling system 102 mayaccess the list of player identifiers P₁ . . . P₃ from a data storage.

At block 406, the method may involve making a first determination that aclip identifier C_(m) is an initial one of the clip identifiers C₁ . . .C_(n) to have a player-identifier assignment-restriction. For example,this may involve the scheduling system 102 making first a determinationthat a clip identifier C₈ is an initial one of the clip identifiers C₁ .. . C₁₅ to have a player-identifier assignment-restriction.

At block 408, the method may involve responsive to making the firstdetermination, (i) determining that the clip identifier C_(m) isrestricted to being assigned a player identifier P_(z) from the playeridentifiers P₁ . . . P_(x), and (ii) assigning to each clip identifierC₁ . . . C_(m) in reverse order a respective one of the playeridentifiers P₁ . . . P_(x) selected in a reverse ordered and loopingfashion starting with the player identifier P_(z).

For example, this may involve responsive to the scheduling system 102making the determination, the scheduling system 102 (i) determining thatthe clip identifier C₈ is restricted to being assigned the playeridentifier P₁, and (ii) assigning to each clip identifier C₁ . . . C₈ inreverse order a respective one of the player identifiers P₁ . . . P₃selected in a reverse ordered and looping fashion starting with theplayer identifier P₁. As shown in FIG. 3B, this causes the clipidentifiers C₁ . . . C₈ to be assigned player identifiers as follows: C₁is assigned P₃, C₂ is assigned P₁, C₃ is assigned P₂, C₄ is assigned P₃,C₅ is assigned P₁, C₆ is assigned P₂, C₇ is assigned P₃, and C₈ isassigned P₁.

Player identifiers may be assigned to any remaining clip identifiersC_(m+1) . . . C_(n) in a variety of ways. This may involve making asecond determination that a clip identifier C_(p) is a next one of theclip identifiers C₁ . . . C_(n) after the clip identifier C_(m) to havea player-identifier assignment-restriction. For instance, this mayinvolve the scheduling system 102 making a second determination that theclip identifier C₁₃ is a next one of the clip identifiers C₁ . . . C₁₅after the clip identifier C₈ to have a player-identifierassignment-restriction.

The process of assigning player identifiers to the remaining clipidentifiers may further involve, responsive to making the seconddetermination, (i) determining that the clip identifier C_(p) isrestricted to being assigned a player identifier P_(y) from the playeridentifiers P₁ . . . P_(x), and (ii) assigning to each clip identifierC_(m+1) . . . C_(p) in reverse order a respective one of the playeridentifiers P₁ . . . P_(x) selected in a reverse ordered and loopingfashion starting with the player identifier P_(y).

For example, this may involve, responsive to the scheduling system 102making the second determination, (i) the scheduling system 102determining that the clip identifier C₁₃ is restricted to being assigneda player identifier P₃ from the player identifiers P₁ . . . P₃, and (ii)the scheduling system 102 assigning to each clip identifier C₉ . . . C₁₃in reverse order a respective one of the player identifiers P₁ . . . P₃selected in a reverse ordered and looping fashion starting with theplayer identifier P₃. As shown in FIG. 3C, this causes the clipidentifiers C₉ . . . C₁₃ to be assigned player identifiers as follows:C₉ is assigned P₂, C₁₀ is assigned P₃, C₁₁ is assigned P₁, C₁₂ isassigned P₂, and C₁₃ is assigned P₃.

In one example, one or more of the techniques described above may berepeated for one or more additional sets of clip identifiers within theclip identifiers C_(p+1) . . . C_(n). As such, the scheduling system mayrepeatedly determine the next clip identifier having a player-identifierassignment-restriction, and assign player identifiers from that clipidentifier to the previously determined clip identifier in the mannerdescribed above.

Once the scheduling system 102 has assigned player identifiers to clipidentifiers as described above, the scheduling system may assign playeridentifiers to any still remaining clip identifiers in a variety ofways. For instance, this may involve the scheduling system 102 assigningto each remaining clip identifier in order a respective one of theplayer identifiers P₁ . . . P_(x) selected in an ordered and loopingfashion starting with a particular player identifier. Continuing withthe example above and as shown in FIG. 3D, this may cause the clipidentifiers C₁₄ and C₁₅ to be assigned player identifiers P₁ and P₂,respectively.

At block 410, the method may involve traversing the clip identifiers C₁. . . C_(m), and for each traversed clip identifier, causing a playeridentified by the one of the player identifiers P₁ . . . P_(x) assignedto the traversed clip identifier to load a clip identified by thetraversed clip identifier. For example, the method may involve thescheduling 102 system traversing the clip identifiers C₁ . . . C₈, andfor each traversed clip identifier, the scheduling system 102 causing aplayer identified by the one of the player identifiers P₁ . . . P₃assigned to the traversed clip identifier to load a clip identified bythe traversed clip identifier.

Notably, in the instance where the first list includes additional clipidentifiers beyond C_(m), and those clip identifiers are assigned playeridentifiers as described above, the function at block 410 may involvetraversing more clip identifiers, such as the clip identifiers C₁ . . .C_(n). For example, the method may involve the scheduling system 102traversing the clip identifiers C₁ . . . C₁₅, and for each traversedclip identifier, the scheduling system 102 causing a player identifiedby the one of the player identifiers P₁ . . . P₃ assigned to thetraversed clip identifier to load a clip identified by the traversedclip identifier.

In one example, the function at block 410 may involve the schedulingsystem 102 sending the traversed clip identifiers and the respectivelyassigned player identifiers to the player controller 104. In turn, theplayer controller 104 may (i) map the player identifiers to the players108 a-c, (ii) map the clip identifiers to clips, and (iii) cause theplayers 108 a-c to load the respective, mapped clips. The playercontroller 104 may cause the players 108 a-c to load the respectivemapped clips by sending suitable instructions to the players 108 a-c,for instance.

In one example, one or more of the players 108 a-c may load a clipcontemporaneously while another one of the players 108 a-c plays out aloaded clip. In this context, the player controller 104 may monitor thestatus of one of the players 108 a-c to determine when the monitoredplayer finishes playing out its previously loaded clip. In response tomaking this determination, the player controller 104 may then cause themonitored player 108 a-c to load its next clip. This way, the players108 a-c collectively may be able to playout each clip indicated in therundown in order and without any undesired delay.

Each of the players 108 a-c may be configured to play out a clip inresponse receiving a request. Likewise, the production switcher 110 maybe configured to set a given input-to-output mapping (e.g., to map oneof its physical inputs to one of its physical output) in response toreceiving a request. As such, in response to one of the players 108 a-cand the production switcher 110 receiving suitable requests, the player108 a-c may playout a clip that gets channeled through the productionswitcher 110 and made part of the news program.

The clip may be made part of the news program in a variety of way. Forinstance, the production switcher 110 may run a DVE (e.g., as indicatedin a rundown) that combines video from one or more physical inputs toproduce the news program. For example, the output video may include livevideo of a news anchor discussing a news story while a clip related tothat news story plays in a box over the news anchor's shoulder.

In one example, a user may provide the requests described above directlyto one of the players 108 a-c and/or to the production switcher 110.Alternatively, the scheduling system 102 may be configured to send suchrequests. This type of scheduling system 102 may be configured totraverse a rundown one rundown entry at a time (e.g., in response to auser pressing a spacebar key on a keyboard). Then, when the schedulingsystem 102 traverses a rundown entry that corresponds to a clip, thescheduling system 102 may automatically send (i) a request to the one ofthe players 108 a-c assigned to the clip to play out the clip, (ii) anda request to the production switcher 110 to set the appropriateinput-to-output mapping such that the production switcher 110 may usethe clip as part of the news program. In one example, the schedulingsystem 102 may cause the one of the players 108 a-c and the productionswitcher 110 to perform these functions at or about the same time.

Notably, in some examples, the scheduling system 102 may send requeststo one of the players 108 a-c and/or the production switcher 110 viaother entities. For instance, the scheduling system 102 may send arequest to the player controller 104, which in turn may send the requestto the one of the players 108 a-c.

In one example, the scheduling system 102 may perform the function atblock 406 in response to the scheduling system 102 making adetermination that the rundown has been initialized or edited. A rundownmay be initialized (sometimes referred to as “MOS activated”) at apredetermined time and/or in response to a request from a user, but ineither case before the corresponding news program is produced. Thisinitialization process therefore allows the scheduling system 102 toassign players to clips in the manner described above before the newsprogram is produced.

A rundown may also be edited at any time, including perhaps while thenews program is being produced. For example, consider the rundown 300 asshown in FIG. 3D. In one example, a user may edit the rundown 300 toremove the clip identifiers C₂ and C₃. FIG. 3E shows the edited rundown.Notably, this editing causes the undesired result of the same player(identified as P₃) being scheduled to playout two clips (Clips 1 and 4)in a row without any intervening delay. As discussed above, due to thedelay time required to load a clip, this may present an issue.

This may also present another issue that relates to the productionswitcher 110 running a DVE. To illustrate, consider an instance wherethe production switcher 102 attempts to run a DVE that visually “slidesout” Clip 1, and contemporaneously visually “slides in” Clip 4. Toeffectively run this DVE, two separate players are needed as two clipsmust be played out contemporaneously. As such, based on the rundown 300as shown in FIG. 3E, the production switcher 110 cannot effectively runthis DVE in connection with Clips 1 and 4.

However, due to scheduling system 102 performing the function at block406 in response to making a determination that the rundown 300 has beenedited (and therefore causing the scheduling system 102 to perform thefunction at block 408), the scheduling system 102 may assign differentplayer identifiers to select clip identifiers. In particular, as shownin

FIG. 3F, this causes the clip identifier C₁ to instead be assigned theplayer identifier P₂.

As a result, in connection with the rundown 300, each player 108 a-c hasa strong likelihood of having a sufficient amount of time to itsrespective clip before needing to play it out. Further since Clips 1 and4 are now scheduled to be played out of different players, theproduction switcher 110 can effectively run the DVE described above.

FIG. 5 is a flowchart showing functions of a second example of thedisclosed method.

At block 502, the method may involve accessing a first list thatincludes ordered clip identifiers. At block 504, the method may involveaccessing a second list that includes ordered player identifiers, wherethe number of player identifiers is less than the number of clipidentifiers. At block 506, the method may involve making a determinationthat a particular clip identifier is an initial one of the clipidentifiers to have a player-identifier assignment-restriction.

At block 508, the method may involve responsive to making thedetermination, (i) determining that the particular clip identifier isrestricted to being assigned a particular player identifier from theplayer identifiers, and (ii) assigning to each of the clip identifiersup to and including the particular clip identifier in reverse order arespective one of the player identifiers selected in a reverse orderedand looping fashion starting with the particular player identifier.

At block 510, the method may involve traversing the clip identifiers upto and including the particular clip identifier, and for each traversedclip identifier, causing a player identified by the one of the playeridentifiers assigned to the traversed clip identifier to load a clipidentified by the traversed clip identifier.

FIG. 6 is a flowchart showing functions of a third example of thedisclosed method.

At block 602, the method may involve accessing a first list thatincludes ordered clip identifiers C₁ . . . C_(n) separated into at leasttwo blocks. For example, as shown in FIG. 3A, this may involve thescheduling system 102 accessing the rundown 300 that includes orderedclip identifiers C₁ . . . C₁₅ separated into a Block A of clipidentifiers C₁ . . . C₅, a Block B of clip identifiers C₆ . . . C₉, anda Block C of clip identifiers C₁₀ . . . C₁₅.

At block 604, the method may involve accessing a second list thatincludes ordered player identifiers P₁ . . . P_(x), where x<n. Forexample, this may involve the scheduling system 102 accessing a list ofplayer identifiers P₁ . . . P₃, where each identifier identifies one ofthe player 108 a-c.

At block 606, the method may involve making a first determination that aclip identifier C_(m) is an initial one of the clip identifiers C₁ . . .C_(n) to have a player-identifier assignment-restriction. For example,this may involve the scheduling system 102 making a first determinationthat a clip identifier C₈ is an initial one of the clip identifiers C₁ .. . C₁₅ to have a player-identifier assignment-restriction.

At block 608, the method may involve responsive to making the firstdetermination, (i) determining that the clip identifier C_(m) isrestricted to being assigned a player identifier P_(z) from the playeridentifiers P₁ . . . P_(x), (ii) determining that a clip identifierC_(q) is an initial clip identifier of a block to which the clipidentifier C_(m) belongs, and (iii) assigning to each clip identifierC_(q) . . . C_(m) in reverse order a respective one of the playeridentifiers P₁ . . . P_(x) selected in a reverse ordered and loopingfashion starting with the player identifier P_(z).

For example, this may involve responsive to the scheduling system 102making the first determination, the scheduling system (i) determiningthat the clip identifier C₈ is restricted to being assigned a playeridentifier P₁ from the player identifiers P₁ . . . P₃, (ii) determiningthat a clip identifier C₆ is an initial clip identifier of the Block Bto which the clip identifier C₈ belongs, and (iii) assigning to eachclip identifier C₆ . . . C₈ in reverse order a respective one of theplayer identifiers P₁ . . . P₃ selected in a reverse ordered and loopingfashion starting with the player identifier P₁. As shown in FIG. 3G,this causes the clip identifiers C₆ . . . C₈ to be assigned playeridentifiers as follows: C₆ is assigned P₂, C₇ is assigned P₃, and C₈ isassigned P₁.

Notably, player identifiers may be assigned to respective ones of theremaining clip identifiers in a variety of ways. This may involve makinga second determination that a clip identifier C_(q) is a next one of theclip identifiers C₁ . . . C_(n) after the clip identifier C_(m) to havea player-identifier assignment-restriction. For instance, this mayinvolve the scheduling system 102 making a second determination that theclip identifier C₁₃ is a next one of the clip identifiers C₁ . . . C₁₅after the clip identifier C₈ to have a player-identifierassignment-restriction.

The process of assigning player identifiers to the remaining clipidentifiers may further involve responsive to making the seconddetermination, (i) determining that the clip identifier C_(s) isrestricted to being assigned a player identifier P_(y) from the playeridentifiers P₁ . . . P_(x), (ii) determining that a clip identifierC_(r) is an initial clip identifier of a block to which the clipidentifier C_(s) belongs, and (iii) assigning to each clip identifierC_(r) . . . C_(s) in reverse order a respective one of the playeridentifiers P₁ . . . P_(x) selected in a reverse ordered and loopingfashion starting with the player identifier P_(y).

For example, this may involve the scheduling system 102 (i) determiningthat the clip identifier C₁₃ is restricted to being assigned the playeridentifier P₃, (ii) determining that a clip identifier C₁₀ is an initialclip identifier of the Block C to which the clip identifier C₁₃ belongs,and (iii) assigning to each clip identifier C₁₀ . . . C₁₃ in reverseorder a respective one of the player identifiers P₁ . . . P₃ selected ina reverse ordered and looping fashion starting with the playeridentifier P₃. As shown in FIG. 3H, this causes the clip identifiers C₁₀. . . C₁₃ to be assigned player identifiers as follows: C₁₀ is assignedP₃, C₁₁ is assigned P₁, C₁₂ is assigned P₂, and C₁₃ is assigned P₃.

In one example, one or more of the techniques described above may berepeated for one or more additional sets of clip identifiers within theclip identifiers C_(s+1) . . . C_(n). As such, the scheduling system mayrepeatedly determine the next clip identifier having a player-identifierassignment-restriction, and assign player identifiers from that clipidentifier to the previously determined clip identifier in the mannerdescribed above.

Once the scheduling system 102 has assigned player identifiers to clipidentifiers as described above, the scheduling system 102 may assignplayer identifiers to any still remaining clip identifiers in a varietyof ways. For instance, this may involve the scheduling system 102assigning to each remaining clip identifier in order a respective one ofthe player identifiers P₁ . . . P_(x) selected in an ordered and loopingfashion starting with a particular player identifier (e.g., by“resetting” the particular player with each new set of clip identifiersto be assigned, or perhaps by continuing the “looping” from the playeridentifier assigned to the immediately prior clip identifier).Continuing with the example above and as shown in FIG. 3I, this maycause the clip identifiers to be assigned player identifiers as follows:C₁ is assigned P₁, C₂ is assigned P₂, C₃ is assigned P₃, C₄ is assignedP₁, C₅ is assigned P₂, C₉ is assigned P₂, C₁₄ is assigned P₁, and C₁₅ isassigned P₂.

At block 610, the method may involve traversing the clip identifiersC_(q) . . . C_(m), and for each traversed clip identifier, causing aplayer identified by the one of the player identifiers P₁ . . . P_(x)assigned to the traversed clip identifier to load a clip identified bythe traversed clip identifier. For example, the method may involve thescheduling 102 system traversing the clip identifiers C₆ . . . C₈, andfor each traversed clip identifier, the scheduling system 102 causing aplayer identified by the one of the player identifiers P₁ . . . P₃assigned to the traversed clip identifier to load a clip identified bythe traversed clip identifier.

Notably, in the instance where the first list includes additional clipidentifiers in addition to clip identifiers C_(q) . . . C_(m), and thoseclip identifiers are assigned player identifiers as described above, thefunction at block 610 may involve traversing more clip identifiers, suchas the clip identifiers C_(r) . . . C_(s) or perhaps clip identifiers C₁. . . C_(n). For example, the method may involve the scheduling system102 traversing the clip identifiers C₁ . . . C₁₅, and for each traversedclip identifier, the scheduling system 102 causing a player identifiedby the one of the player identifiers P₁ . . . P₃ assigned to thetraversed clip identifier to load a clip identified by the traversedclip identifier.

In one example, the scheduling system 102 may perform the function atblock 606 in response to the scheduling system 102 making adetermination that the rundown has been initialized or edited. Forexample, consider the rundown 300 as shown in FIG. 3I. In one example, auser may edit the rundown 300 to remove clip identifiers C₁₁ and C₁₂.FIG. 3J shows the edited rundown. Notably, this editing causes theundesired result of the same player (identified as P₃) being scheduledto playout two clips (Clips 10 and 13) in a row without any interveningdelay. As discussed above, due to the delay time required to load aclip, this may present an issue. This may also present another issuethat relates to the production switcher 110 running a DVE that “slidesout” Clip 10 and contemporaneously “slides in” Clip 13.

However, due to scheduling system 102 performing the function at block606 in response to making a determination that the rundown 300 has beenedited (and therefore causing the scheduling system 102 to perform thefunction at block 608), the scheduling system 102 may assign differentplayer identifiers to select clip identifiers. In particular, as shownin FIG. 3K, this causes the clip identifier C₁₀ to instead be assignedthe player identifier P₂.

As a result, in connection with the rundown 300, each player 108 a-c hasa strong likelihood of having a sufficient amount of time to itsrespective clip before needing to play it out. Further since Clips 10and 13 are now scheduled to be played out of different players, theproduction switcher 110 can effectively run the DVE described above. Itshould also be noted that assignments for the clip identifiers in theremaining blocks (i.e., Block A and Block B) remain unchanged.

FIG. 7 is a flowchart showing functions of a fourth example of thedisclosed method.

At block 702, the method may involve accessing a first list thatincludes ordered clip identifiers separated into at least two blocks.

At block 704, the method may involve accessing a second list thatincludes ordered player identifiers, wherein the number of playeridentifiers is less than the number of clip identifiers.

At block 706, the method may involve making a determination that a firstparticular clip identifier is an initial one of the clip identifiers tohave a player-identifier assignment-restriction.

At block 708, the method may involve responsive to making thedetermination, (i) determining that the first particular clip identifieris restricted to being assigned a particular player identifier from theplayer identifiers, (ii) determining that a second particular clipidentifier is an initial clip identifier of a block to which the firstparticular clip identifier belongs, and (iii) assigning to each clipidentifier from the first particular clip identifier to the secondparticular clip identifier, inclusive, in reverse order a respective oneof the player identifiers selected in a reverse ordered and loopingfashion starting with the particular player identifier.

At block 710, the method may involve traversing the clip identifiersfrom the first particular clip identifier to the second particular clipidentifiers, inclusive, and for each traversed clip identifier, causinga player identified by the one of the player identifiers assigned to thetraversed clip identifier to load a clip identified by the traversedclip identifier.

It should also be noted that the variations described in connection withthe first, second, third, and fourth example methods may likewise beapplied to each other of those other example methods.

VII. Example Variations

While one or more functions have been described as being performed bycertain devices or entities (e.g., the scheduling system 102), thefunctions may be performed by any device or entity, such as thoseincluded in the NPS 100 described above.

For instance, rather than the scheduling system 102 assigning playeridentifiers to clip identifiers, the scheduling system 102 may send clipidentifiers to the player controller 104 such that the player controller104 may assign player identifiers to clip identifiers. Then, the playercontroller 104 may send to the scheduling system 102, an indication ofsuch assignments such that the scheduling system 102 may edit therundown accordingly.

As noted above, while examples of the disclosed method have beendescribed in connection with an NPS and a news program, examples of themethod may be implemented in other environments and/or in connectionwith other programs or other types of video. For instance, in oneexample, the disclosed method may be implemented in connection with amaster control system. A master control system may facilitate thebroadcast of a program according to a traffic schedule (sometimesreferred to as a “traffic log”), which specifies an order of events thatrelate to a broadcast for a given station during a given time period.According to one example variation, in connection with the methoddescribed above, rather than being part of a rundown, the first list maybe part of a traffic schedule for a program broadcast. In this instance,a block of clip identifiers may correspond to a block of the programbroadcast, and another block of clip identifiers may correspond toanother block of the program broadcast. The blocks of clip identifiersmay be separated from each other by a particular portion of the trafficschedule, such as a reference to a particular video source, forinstance.

Also, the functions need not be performed in the disclosed order,although in some examples, an order may be preferred. And not allfunctions need to be performed to achieve the desired advantages of thedisclosed system and method, and therefore not all functions arerequired.

It should also be noted that the variations described in connection withselect examples of the disclosed system and method may be applied to allother examples of the disclosed system or method.

Further, while select examples of the disclosed system and method havebeen described, alterations and permutations of these examples will beapparent to those of ordinary skill in the art. Other changes,substitutions, and alterations are also possible without departing fromthe disclosed system and method in its broader aspects as set forth inthe following claims.

1. A non-transitory computer-readable medium including a set of programinstructions, that when executed, cause performance of a set offunctions for use with multiple video players, the set of functionscomprising: accessing a first list that includes ordered clipidentifiers C₁ . . . C_(n); accessing a second list that includesordered player identifiers P₁ . . . P_(x), wherein x<n; making adetermination that a clip identifier C_(m) is an initial one of the clipidentifiers C₁ . . . C_(n) to have a player-identifierassignment-restriction; responsive to making the determination, (i)determining that the clip identifier C_(m) is restricted to beingassigned a player identifier P_(z) from the player identifiers P₁ . . .P_(x), and (ii) assigning to each clip identifier C₁ . . . C_(m) inreverse order a respective one of the player identifiers P₁ . . . P_(x)selected in a reverse ordered and looping fashion starting with theplayer identifier P_(z); and traversing the clip identifiers C₁ . . .C_(m), and for each traversed clip identifier, causing a video playeridentified by the one of the player identifiers P₁ . . . P_(x) assignedto the traversed clip identifier to load a clip identified by thetraversed clip identifier.
 2. The non-transitory computer-readablemedium of claim 1, wherein the first list is part of a rundown for anews program.
 3. The non-transitory computer-readable medium of claim 2,wherein the determination is a first determination, the set of functionsfurther comprising: making a second determination that the rundown hasbeen initialized or edited, wherein making the first determinationoccurs in response to making the second determination.
 4. Thenon-transitory computer-readable medium of claim 1, wherein the firstlist is part of a traffic schedule for a program broadcast.
 5. Thenon-transitory computer-readable medium of claim 1, wherein the playercomprises one of a video player device and a software-based video playerexecuting on a computing device.
 6. The non-transitory computer-readablemedium of claim 1, the set of functions further comprising: for eachtraversed clip identifier, causing the player identified by the one ofthe player identifiers P₁ . . . P_(x), assigned to the traversed clipidentifier to play out the respective loaded clip.
 7. The non-transitorycomputer-readable medium of claim 1, wherein the determination is afirst determination, the set of functions further comprising: making asecond determination that a clip identifier C_(p) is a next one of theclip identifiers C₁ . . . C_(n) after the clip identifier C_(m) to havea player-identifier assignment-restriction; responsive to making thesecond determination, (i) determining that the clip identifier C_(p) isrestricted to being assigned a player identifier P_(y) from the playeridentifiers P₁ . . . P_(x), and (ii) assigning to each clip identifierC_(m+1) . . . C_(p) in reverse order a respective one of the playeridentifiers P₁ . . . P_(x) selected in a reverse ordered and loopingfashion starting with the player identifier P_(y); and traversing theclip identifiers C₁ . . . C_(p), and for each traversed clip identifier,causing a player identified by the one of the player identifiers P₁ . .. P_(x) assigned to the traversed clip identifier to load a clipidentified by the traversed clip identifier.
 8. A non-transitorycomputer-readable medium including a set of program instructions, thatwhen executed, cause performance of a set of functions for use withmultiple video players, the set of functions comprising: accessing afirst list that includes ordered clip identifiers; accessing a secondlist that includes ordered player identifiers, wherein the number ofplayer identifiers is less than the number of clip identifiers; making adetermination that a particular clip identifier is an initial one of theclip identifiers to have a player-identifier assignment-restriction;responsive to making the determination, (i) determining that theparticular clip identifier is restricted to being assigned a particularplayer identifier from the player identifiers, and (ii) assigning toeach of the clip identifiers up to and including the particular clipidentifier in reverse order a respective one of the player identifiersselected in a reverse ordered and looping fashion starting with theparticular player identifier; and traversing the clip identifiers up toand including the particular clip identifier, and for each traversedclip identifier, causing a video player identified by the one of theplayer identifiers assigned to the traversed clip identifier to load aclip identified by the traversed clip identifier.
 9. The non-transitorycomputer-readable medium of claim 8, wherein the first list is part of arundown for a news program.
 10. The non-transitory computer-readablemedium of claim 9, wherein the determination is a first determination,the set of functions further comprising: making a second determinationthat the rundown has been initialized or edited, wherein making thefirst determination occurs in response to making the seconddetermination.
 11. The non-transitory computer-readable medium of claim8, wherein the first list is part of a traffic schedule for a programbroadcast.
 12. The non-transitory computer-readable medium of claim 8,wherein the player comprises one of a video player device and asoftware-based video player executing on a computing device.
 13. Anon-transitory computer-readable medium including a set of programinstructions, that when executed, cause performance of a set offunctions for use with multiple video players, the set of functionscomprising: accessing a first list that includes ordered clipidentifiers C₁ . . . C_(n) separated into at least two blocks; accessinga second list that includes ordered player identifiers P₁ . . . P_(x),wherein x<n; making a determination that a clip identifier C_(m) is aninitial one of the clip identifiers C₁ . . . C_(n) to have aplayer-identifier assignment-restriction; responsive to making thedetermination, (i) determining that the clip identifier C_(m) isrestricted to being assigned a player identifier P_(z) from the playeridentifiers P₁ . . . P_(x), (ii) determining that a clip identifierC_(q) is an initial clip identifier of a block to which the clipidentifier C_(m) belongs, and (iii) assigning to each clip identifierC_(q) . . . C_(m) in reverse order a respective one of the playeridentifiers P₁ . . . P_(x) selected in a reverse ordered and loopingfashion starting with the player identifier P_(z); and traversing theclip identifiers C_(q) . . . C_(m), and for each traversed clipidentifier, causing a video player identified by the one of the playeridentifiers P₁ . . . P_(x) assigned to the traversed clip identifier toload a clip identified by the traversed clip identifier.
 14. Thenon-transitory computer-readable medium of claim 13, wherein the firstlist is part of a rundown for a news program.
 15. The non-transitorycomputer-readable medium of claim 14, wherein the determination is afirst determination, the set of functions further comprising: making asecond determination that the rundown has been initialized or edited,wherein making the first determination occurs in response to making thesecond determination.
 16. The non-transitory computer-readable medium ofclaim 13, wherein the first list is part of a traffic schedule for aprogram broadcast.
 17. The non-transitory computer-readable medium ofclaim 13, wherein the player comprises one of a video player device anda software-based video player executing on a computing device.
 18. Thenon-transitory computer-readable medium of claim 13, the set offunctions further comprising: for each traversed clip identifier,causing the player identified by the one of the player identifiers P₁ .. . P_(x) assigned to the traversed clip identifier to play out therespective loaded clip.
 19. The non-transitory computer-readable mediumof claim 13, wherein the determination is a first determination, the setof functions further comprising: making a second determination that aclip identifier C_(s) is a next one of the clip identifiers C₁ . . .C_(n) after the clip identifier C_(m) to have a player-identifierassignment-restriction; responsive to making the second determination,(i) determining that the clip identifier C_(s) is restricted to beingassigned a player identifier P_(y) from the player identifiers P₁ . . .P_(x), (ii) determining that a clip identifier C_(r) is an initial clipidentifier of a block to which the clip identifier C_(s) belongs, and(iii) assigning to each clip identifier C_(r) . . . C_(s) in reverseorder a respective one of the player identifiers P₁ . . . P_(z) selectedin a reverse ordered and looping fashion starting with the playeridentifier P_(y); and traversing the clip identifiers C_(r) . . . C_(s),and for each traversed clip identifier, causing a video playeridentified by the one of the player identifiers P₁ . . . P_(z) assignedto the traversed clip identifier to load a clip identified by thetraversed clip identifier.
 20. A non-transitory computer-readable mediumincluding a set of program instructions: accessing a first list thatincludes ordered clip identifiers separated into at least two blocks;accessing a second list that includes ordered player identifiers,wherein the number of player identifiers is less than the number of clipidentifiers; making a determination that a first particular clipidentifier is an initial one of the clip identifiers to have aplayer-identifier assignment-restriction; responsive to making thedetermination, (i) determining that the first particular clip identifieris restricted to being assigned a particular player identifier from theplayer identifiers, (ii) determining that a second particular clipidentifier is an initial clip identifier of a block to which the firstparticular clip identifier belongs, and (iii) assigning to each clipidentifier from the first particular clip identifier to the secondparticular clip identifier, inclusive, in reverse order a respective oneof the player identifiers selected in a reverse ordered and loopingfashion starting with the particular player identifier; and traversingthe clip identifiers from the first particular clip identifier to thesecond particular clip identifiers, inclusive, and for each traversedclip identifier, causing a video player identified by the one of theplayer identifiers assigned to the traversed clip identifier to load aclip identified by the traversed clip identifier.
 21. The non-transitorycomputer-readable medium of claim 20, wherein the first list is part ofa rundown for a news program.
 22. The non-transitory computer-readablemedium of claim 20, wherein the determination is a first determination,the set of functions further comprising: making a second determinationthat the rundown has been initialized or edited, wherein making thefirst determination occurs in response to making the seconddetermination.
 23. The non-transitory computer-readable medium of claim20, wherein the first list is part of a traffic schedule for a programbroadcast.
 24. The non-transitory computer-readable medium of claim 20,wherein the player comprises one of a video player device and asoftware-based video player executing on a computing device.
 25. Acomputing device configured for performing a set of functions for usewith multiple video players, the set of functions comprising: accessinga first list that includes ordered clip identifiers C₁ . . . C_(n);accessing a second list that includes ordered player identifiers P₁ . .. P_(x), wherein x<n, and each player identifier P₁ . . . P_(x) has acorresponding one of the players; making a determination that a clipidentifier C_(m) is an initial one of the clip identifiers C₁ . . .C_(n) to have a player-identifier assignment-restriction; and responsiveto making the determination, (i) determining that the clip identifierC_(m) is restricted to being assigned a player identifier P_(z) from theplayer identifiers P₁ . . . P_(x), and (ii) assigning to each clipidentifier C₁ . . . C_(m) in reverse order a respective one of theplayer identifiers P₁ . . . P_(x) selected in a reverse ordered andlooping fashion starting with the player identifier P_(z).
 26. Thecomputing device of claim 25, the set of functions further comprisingtraversing the clip identifiers C₁ . . . C_(m), and for each traversedclip identifier, causing a video player identified by the one of theplayer identifiers P₁ . . . P_(x) assigned to the traversed clipidentifier to load a clip identified by the traversed clip identifier.27. A computing device configured for performing a set of functions foruse with multiple video players, the set of functions comprising:accessing a first list that includes ordered clip identifiers C₁ . . .C_(n) separated into at least two blocks; accessing a second list thatincludes ordered player identifiers P₁ . . . P_(x), wherein x<n and eachplayer identifier P₁ . . . P_(x) has a corresponding one of the players;making a determination that a clip identifier C_(m) is an initial one ofthe clip identifiers C₁ . . . C_(n) to have a player-identifierassignment-restriction; responsive to making the determination, (i)determining that the clip identifier C_(m) is restricted to beingassigned a player identifier P_(z) from the player identifiers P₁ . . .P_(x), (ii) determining that a clip identifier C_(q) is an initial clipidentifier of a block to which the clip identifier C_(m) belongs, and(iii) assigning to each clip identifier C_(q) . . . C_(m) in reverseorder a respective one of the player identifiers P₁ . . . P_(x) selectedin a reverse ordered and looping fashion starting with the playeridentifier P_(z).
 28. The computing device of claim 27 the set offunctions further comprising traversing the clip identifiers C_(q) . . .C_(m), and for each traversed clip identifier, causing a video playeridentified by the one of the player identifiers P₁ . . . P_(x) assignedto the traversed clip identifier to load a clip identified by thetraversed clip identifier.